package org.eiahe.hr.attendance.service;

import org.eiahe.hr.attendance.domain.bo.MonthlyOvertimeStatBo;
import org.eiahe.hr.attendance.domain.vo.MonthlyOvertimeStatVo;
import org.ehe.common.mybatis.core.page.PageQuery;
import org.ehe.common.mybatis.core.page.TableDataInfo;

import java.util.List;

/**
 * 月度加班统计Service接口
 *
 * @author zhangnn
 */
public interface IMonthlyOvertimeStatService {

    /**
     * 查询月度加班统计列表
     */
    TableDataInfo<MonthlyOvertimeStatVo> queryPageList(MonthlyOvertimeStatBo bo, PageQuery pageQuery);

    /**
     * 查询月度加班统计列表
     */
    List<MonthlyOvertimeStatVo> queryList(MonthlyOvertimeStatBo bo);

    /**
     * 根据ID查询月度加班统计
     */
    MonthlyOvertimeStatVo queryById(Long statId);

    /**
     * 生成月度加班统计(定时任务调用)
     * 
     * @param year  年份
     * @param month 月份
     */
    void generateMonthlyStats(Integer year, Integer month);

    /**
     * 重新生成指定员工的月度统计
     */
    void regenerateEmployeeStats(String employeeNo, Integer year, Integer month);

    String edit(MonthlyOvertimeStatBo bo);
}
